首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器RTMP播放器几点设计细节讨论

    我们在实现Windows平台RTSP播放器RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 视频绘制模式 我们在实现Windows平台播放的时候,一般首选D3D,D3D不支持的情况下,考虑数据回上来,采用GDI模式,一般实现如下,先做D3D检测,以大牛直播SDK播放端为例(Github),调用 特定机型硬解码 Windows平台硬解码,主要适用于性能偏弱的PC端,或者有多路播放诉求的场景,一般建议在软解性能没问题的情况下,尽量软解,具体处理如下,先检测系统是否支持硬解,如果支持,再做硬解设置, 实时快照 实时快照功能不表,是一个好的RTSP播放器RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: 播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。

    1.9K00发布于 2020-06-07
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP|RTSP播放器实现画面全屏功能

    我们在Windows平台实现RTSP或者RTMP播放的时候,有个功能是绕不开的,那就是播放窗口全屏。 本文就以大牛直播SDK(官方)的Windows播放器为例,大概讲下大概实现: 全屏播放需要考虑的点不多: 第一:视频播放后,全屏的意义; 第二:全屏后,是否等比例显示,我们的设计原则是,之前等比例显示的

    1.1K20发布于 2021-05-13
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP播放器RTSP播放器播放窗口添加OSD文字叠加

    好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github )的Windows平台demo为例,简单介绍下具体实现: Windows平台RTMP播放器、RTSP播放器C++ demo Windows平台C++的demo,以录像过程为例,动态在左上角显示个闪动的图标 logo_image->data_.swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows 平台RTMP播放器、RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png

    3K50发布于 2021-03-01
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP、RTSP播放器录像模块精细化控制

    ​技术背景上篇文章,我们介绍了Unity平台RTMP、RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP流录制,无非就是拉取数据写文件而已,接口设计StartRecorder()/StopRecorder()足矣。 除了上述的设计,还需要确保和RTSP、RTMP播放在一个实例下,确保播放的过程中可以随时录像,录像的过程中,可以随时播放。 录像模块设计无图无真相,先看录像设置:图片开始录像、停止录像:图片Windows平台,我们提供了C++和C#的接口,本文以C++接口设计为例:先说录像设置:设置录制纯音频或纯视频: /**

    1.3K00编辑于 2022-12-24
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP|RTSP播放器为什么要兼容GDI绘制

    为什么要支持GDI 先说结论,Windows平台播放渲染这块,一般来说99%以上的机器都是支持D3D的,实现GDI模式绘制,除了为了好的兼容性外,在远程连接的场景下,D3D创建不成功,需要使用GDI模式 简单来说,Windows平台的RTMP播放器或RTSP播放器,设计如果系统支持D3D,优先D3D,如果检测到不支持D3D,数据回调上来,GDI模式绘制。 上图以1920*1080分辨率、30帧、固定码率(采集屏幕左侧区域)为例,通过大牛直播SDK ( 官方 ) 的Windows平台SmartPublisherDemo.exe工具推送到内网nginx服务器 1 : 0); } else { is_gdi_render_ = true; // 不支持D3D就让播放器吐出数据来,用GDI绘制 wrapper_render_wnd

    75240发布于 2021-05-13
  • 来自专栏RTSP/RTMP直播相关

    【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    背景我们看过了太多介绍RTSP、RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP、RTSP播放器开发设计 ,本文以Windows平台RTMP、RTSP播放模块为例,大概介绍下常用的接口。 拉流回调编码后的数据(配合转发模块使用)拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。 1 : 0);总结以上就是大牛直播SDK(官网)关于Windows平台RTSP、RTMP播放器接口设计需要参考的点,其他还有些,比如如果不支持D3D,GDI模式绘制,播放界面叠加实时文字,播放画面全屏等 ,这里就不再赘述,除Windows平台外,我们还同步开发了Linux、Android、iOS平台的RTSP、RTMP播放器,大多常规接口四个平台基本统一,延迟也都做到了毫秒级。

    2.3K10编辑于 2023-01-09
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP|RTMP播放器如何实现细粒度录像控制

    技术设计本文以大牛直播SDK的Windows平台RTSP|RTMP直播播放录制功能设计为例,谈谈我们的接口的细粒度设计。 目前,我们录像模块,涵盖了Windows/Linux/android/iOS 推送端(涵盖轻量级RTSP服务模块、RTMP推流模块和GB28181设备接入模块)和RTSP|RTMP播放端,主要实现了如下功能 : [拉流]支持拉取RTSP流录像; [拉流]支持拉取RTMP流录像; [推流端录像]支持RTMP|RTSP推送端同步录像; [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像; [推流端录像实时暂停 sb.Append(recorder_file_name); MessageBox.Show(sb.ToString()); }总结上述是Window平台RTSP|RTMP 专注做好一件事,极致做精一件事,口碑做成一件事,比快更快,让RTSP|RTMP直播播放器更适用于延迟要求苛刻的使用场景(如平衡控制、无人机、智能机器人等),是我们一直的追求。

    95710编辑于 2024-04-17
  • 来自专栏RTSP/RTMP直播相关

    RTMP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTMP播放器非常重要的指标,目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异(大牛直播SDK 支持多实例:大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTMP流数据,大多开源播放器对多实例支持不太友好; 除了常规的多实例外,比如大屏监控场景下,尽管我们CPU 长期运行稳定性:大牛直播SDK提供的RTMP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11. D3D检测:一般来说市面上的大多Windows都支持D3D,有些小众化的,只支持GDI模式绘制,所以为了更好的兼容性,这个接口非常必要; 15.

    2.7K30发布于 2021-03-15
  • 来自专栏EasyNVR

    网页可以播放RTMP视频流?支持RTMP的网页播放器

    我们知道多数监控摄像头都是支持RTMP协议的,当然公安部的摄像头是支持GB28181协议的,这个我们在本文不做过多赘述,我们来探讨一下网页播放RTMP视频流的播放器。 ? ? 网页可以播放RTMP视频流吗?当然是可以的,但是对于PC端来说,网页播放RTMP流媒体视频流将会承受更多的服务器压力,满足网页播放RTMP视频流有哪些要求,下文我们一起来看一下。 1.便捷。 本文已经为大家介绍完毕啦,结论就是网页是能够播放RTMP视频流的,如果想体验网页播放RTMP视频流的流媒体服务器或者播放器,可以继续关注本栏目。

    7.9K20发布于 2020-05-04
  • 来自专栏RTSP/RTMP直播相关

    RTMP播放器延迟最低可以做到多少?

    ​技术背景RTMP播放器的延迟可以受到多种因素的影响,包括网络状况、推流设置、播放器配置以及CDN分发等。因此,RTMP播放器的延迟并不是一个固定的数值,而是可以在一定范围内变化的。 然而,当网络状况不佳、推流设置不当或播放器配置不合理时,延迟可能会增加。具体来说,RTMP播放器的延迟可能受到以下因素的影响:网络状况:网络延迟和丢包是影响RTMP播放器延迟的重要因素。 此外,由于视频数据的处理和传输需要一定的时间,因此即使在最理想的情况下,RTMP播放器的延迟也会存在一定的最小值。综上所述,RTMP播放器的延迟可以控制在一定范围内,但具体数值会受到多种因素的影响。 为此,我们着手开始了全自研框架的RTMP播放器模块,2015年底,我们发布的延迟,让行业内大跌眼镜,左侧是我们的Windows平台RTMP推送模块,采集毫秒计时器窗口,然后,推送到nginx rtmp服务器 所以,我们可以有底气的说,在没测试过大牛直播SDK的SmartPlayer RTMP播放器之前,你甚至不相信行业内,RTMP播放器延迟可以稳定的做到毫秒级。

    1.2K10编辑于 2024-09-08
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器RTMP播放器常用Event事件回调设计

    很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗; 8. RTSP错误状态:如401鉴权不通过。 会返回缓冲百分比)EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING停止缓冲数据EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED返回当前 RTSP/RTMP

    1.3K22发布于 2020-10-15
  • 来自专栏软件&工具配置

    Windows搭建RTMP服务器

    一、Nginx-RTMP服务器搭建1、下载Nginx下载地址:http://nginx-win.ecsds.eu/download/该版本是带rtmp模块且编译过的nginx版本,可以直接使用下载完成后解压 ,解压后的目录命名为nginx2、下载Nginx的RTMP扩展包下载地址:https://github.com/arut/nginx-rtmp-module下载完成后解压,将解压后的文件夹放入nginx /nginx-rtmp-module-master/;#rtmp拓展包目录}    location/{      ://127.0.0.1:1935/live/stream,点击播放即可四、补充若需要在公网环境下进行推拉流,只需将80和1935端口映射到公网即可,然后将本地地址改为公网地址参考文章:Windows搭建 RTMP服务器+OBS推流+VLC拉流_浏览器查看推流服务器信息vlc-CSDN博客

    65510编辑于 2025-12-11
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

    从高效率的角度,磨刀不误砍柴工,在模块集成之前,还是希望开发者能了解播放器集成的一些前置条件,少走弯路,尽快完成RTSP、RTMP低延迟播放能力构建。 本文不关注接口集成调用细节,主要介绍下,播放器集成的一些前置条件和注意事项。 直播播放器Demo工程源码SmartPlayerV2\app\src\main\jniLibssmartavengine.jar和libSmartPlayer.soSmartPlayerV2\app\src \main\java\com\daniulive\smartplayer\SmartPlayerJniV2.java播放器头文件SmartPlayerV2\app\src\main\java\com\daniulive 结束时必须调用close接口释放资源功能支持音频:AAC/Speex(RTMP)/PCMA/PCMU;视频:H.264、H.265;播放协议:RTSP|RTMP;支持纯音频、纯视频、音视频播放;支持多实例播放

    1.3K10编辑于 2024-09-05
  • 来自专栏RTSP/RTMP直播相关

    QT下实现低延迟RTSP|RTMP播放器

    好多开发者在QT环境下实现RTMP或RTSP播放时,首先考虑到的是集成VLC,集成后,却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意,无法满足上线环境需求。 本文以调用大牛直播SDK(官方)的Windows平台播放端SDK为例,介绍下如何在QT下实现低延迟的RTMP|RTSP播放器,废话不多说,先上图: QTPlayer.png 大牛直播SDK有MFC的demo play->OnWindowSize(widgets.at(i)->width(), widgets.at(i)->height()); } } } 以上是QT环境下集成个低延迟的RTMP

    2.2K80发布于 2021-04-30
  • 来自专栏RTSP/RTMP直播相关

    RTMP直播播放器为什么要做秒开?

    播放器秒开意义2015年我们做了RTMP直播播放器没多久,就加了快速播放接口,今天就从播放器用户体验的维度,谈谈为什么要做这个:一、提升用户体验减少等待焦虑 在当今快节奏的生活中,用户的耐心有限。 提高广告投放效果 对于依赖广告收入的视频平台来说,播放器秒开可以提高广告的投放效果。如果播放器打开缓慢,用户可能在广告加载之前就关闭了播放器,导致广告无法展示。 优化推流和拉流协议:采用高效的推流协议,如 RTMP(Real Time Messaging Protocol)、HLS(HTTP Live Streaming)、DASH(Dynamic Adaptive 直播播放器秒开接口设计本文以大牛直播SDK的安卓平台接口设计为例,介绍下快速启动接口的设计,RTMP直播播放器做秒开的前提是,服务器可以缓存GOP数据,播放端拉取到数据后,快速渲染,让用户看到视频画面, successful */public native int SmartPlayerSetFastStartup(long handle, int is_fast_startup);快速启动接口调用的话,RTMP

    56610编辑于 2024-11-25
  • 来自专栏RTSP/RTMP直播相关

    iOS平台RTSP|RTMP直播播放器技术接入说明

    ​ 技术背景大牛直播SDK自2015年发布RTSP、RTMP直播播放模块,迭代从未停止,SmartPlayer功能强大、性能强劲、高稳定、超低延迟、超低资源占用。 无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以iOS平台为例,介绍下如何集成RTSP、RTMP播放模块。 |RTSP直播播放,我们设计实现的功能如下:音频:AAC/PCMA/PCMU/SPEEX(RTMP);视频:H.264;播放协议:RTMP或RTSP;支持纯音频、纯视频、音视频播放;支持多实例播放;支持网络状态 扩展H.265播放(Enhanced RTMP);支持扩展录像功能;支持Unity3D接口;支持H.264扩展SEI接收模块;支持iOS 9.0及以上版本。 由于设备和系统比较单一,优先考虑硬解码,除了基础播放外,我们还实现了实时快照、实时录像、实时回调YUV数据、实时音量调节等,实际体验下来,iOS平台RTMP和RTSP,可以轻松毫秒级。​

    97210编辑于 2024-09-19
  • 来自专栏音视频进阶之旅

    FFmpeg视频播放器开发-FFmpeg拉rtmp流(七)

    在菜单栏输入rtmp流地址后,关闭窗口,在closeEvent方法中发送信号,主线程接收到该信号后,调用网络流线程解码,同时视频显示窗口刷新解码后的img, 这样网络流就可以播放了。 ui.lineEdit_IP->text();CommonUtils::writeIni(m_iniPath, m_iniKey, address);emit(PushStream(address));}菜单栏这是湖南卫视的rtmprtmp://58.200.131.2:1935/livetv/hunantv主界面接收PushStream信号connect(&m_NetDlg, SIGNAL(PushStream(QString setWindowTitle(address);NetStreamThread::getInstance()->startPlay(address);}通过调用NetStreamThread线程类解码rtmp

    4.3K20编辑于 2022-09-24
  • 来自专栏RTSP/RTMP直播相关

    Unity低延迟RTSP|RTMP播放器开发指南

    概述与优势1.1 SDK功能特性1.1.1 支持协议与格式 支持RTMP、RTSP协议,兼容H.265、H.264视频格式及AAC、PCMA等音频格式,满足多样化播放需求。 Unity播放器架构设计2.1 核心模块划分2.1.1 PlayerInstance模块 管理单个播放实例的生命周期,负责视频播放、录制及视频帧回调。 开启RTSP TCP/UDP自动切换功能,使播放器能根据网络状况自动选择最优传输模式。 核心技术架构设计4.1 原生模块与Unity的高效交互大牛直播SDK的核心优势在于其原生模块(Windows/Linux/Android/iOS)直接处理流媒体协议解析、解码和网络优化,仅将解码后的YUV 播放器,适用于VR、安防、直播等高实时性场景。

    1K10编辑于 2025-02-20
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP直播播放器技术接入说明

    初始化接口 SmartPlayerOpen:初始化播放器,设置上下文信息,返回播放实例句柄。 SetSmartPlayerEventCallbackV2:设置事件回调接口,用于接收播放器的状态信息。 2. SmartPlayerSetUrl:设置需要播放或录像的 RTMP/RTSP URL。 SmartPlayerStartPlay:开始播放 RTSP/RTMP 流。 RTMP 增强:支持 Enhanced RTMP。 录像功能:支持扩展录像功能。 系统兼容:支持 Android 5.1 及以上版本。 六、接口调用详解1. 资源释放在 onDestroy() 方法中,停止播放、录像,并释放播放器实例句柄:@Overrideprotected void onDestroy() { Log.i(TAG, "Run into

    1K20编辑于 2025-03-02
  • 来自专栏RTSP/RTMP直播相关

    如何将Windows平台RTMP、RTSP播放器回调数据投递给Python做视觉算法分析

    ​在开发基于大牛直播SDK的Windows平台RTMP、RTSP播放器时,我们常常需要将回调的YUV或者RGB数据投递给Python进行视觉算法分析。 一、技术背景在实时视频流处理中,RTMP和RTSP是常用的协议。大牛直播SDK提供了强大的功能,可以方便地实现RTMP、RTSP播放器的开发。 在播放器中,我们可以获取到解码后的YUV或RGB数据,这些数据可以用于视频渲染,也可以用于视觉算法分析。如果需要将这些数据投递给Python进行分析,我们需要考虑数据传输的效率和实时性。 # 关闭共享内存 mm.close()四、总结通过上述方法,我们可以将大牛直播SDK的Window平台RTMP、RTSP播放器回调的YUV或者RGB数据投递给Python进行视觉算法分析。

    1.1K10编辑于 2025-03-03
领券